diff --git a/README.md b/README.md
index 9a5f0d5..4351e57 100644
--- a/README.md
+++ b/README.md
@@ -1,64 +1,50 @@
-# SVBHACK
+Subtle Pelican Theme
+====================
 
-pelican-svbhack is a responsive theme for [Pelican](http://getpelican.com), it is my hack of a svbtle-like theme.
+[pelican-subtle](https://github.com/pR0Ps/pelican-svbhack) is a responsive theme for [Pelican](http://getpelican.com), it is my take on Giulio Fidente's [pelican-svbhack](https://github.com/giulivo/pelican-svbhack) theme.
 
-## DEMO
+## Demo
 
-You can see the [theme in action](http://www.giuliofidente.com/).
+You can see the theme in action on [my site](http://cmetcalfe.ca/).
 
-## FEATURES
+## Features
 
-- responsive
-- syntax highlighting for pre blocks
-- supports google analytics
-- custom list of links
+- Clean, responsive design
+- Profile image and tagline
+- Syntax highlighting for pre blocks
+- Google Analytics (new Unified Analytics)
+- Google Authorship
+- Supports displaying a custom list of links with icons in the sidebar
+- Global keyword support
 
-## KNOWN ISSUES
+## Installing
 
-- no IE testing
-- no custom menu
+Clone the [repository](https://github.com/pR0Ps/pelican-svbhack), edit your `pelicanconf.py` and modify the `THEME` variable to point to the downloaded theme location.
 
-## INSTALL
+## pelicanconf.py
 
-Clone the [repository](https://github.com/giulivo/pelican-svbhack), edit your `pelicanconf.py` and modify the `THEME` variable to make it point to the downloaded theme location.
+When developing locally, you may want to set `SITEURL` to somrething like `http://localhost:8000`
 
-## PELICANCONF.PY
+This theme supports a number of custom variables:
 
-Supports a number of common global variables but patches are welcomed if you need better support.
+- `GOOGLE_ANALYTICS_ID`: Your Google Analytics UA-XXXXXXXX-X code (`None` to disable analytics).
+- `GOOGLE_ANALYTICS_PROP`: Your Google Analytics property name (`None` to disable analytics).
+- `GOOGLE_PLUS_URL`: A link to your Google+ profile. Used for the [Google Authorship](http://www.google.com/insidesearch/features/authorship/index.html) feature.
+- `USER_LOGO_URL`: The image to display as the profile image. Can be local or a remote URL.
+- `DISQUS_SITENAME`: Set this to enable Disqus comments on articles.
+- `COLLAPSE_COMMENTS`: Set to `True` to have article comments hidden by default. Clicking on the 'comments' link will toggle visibility.
+- `TAGLINE`: The site's tagline. Rendered right below the image.
+- `SCROLL_TO_CONTENT`: If this is set to `True`, when content is below the sidebar (for example, on mobile), the page will be scrolled down to the content when it loads. An exception is made for the home page.
+- `FORCE_PIXELS`: Some screens (mostly mobiles) don't use pixels directly and scale based on the concept of a 'display pixel'. Setting this to `True` tells the device to use actual pixels. Enable with care.
+- `MANGLE_EMAILS`: If enabled, any emails in the `SOCIAL` links will be obfuscated in HTML and have their links generated by Javascript when the page loads.
+- `GLOBAL_KEYWORDS` A list of strings that will be set as keywords for each page.
 
-- `GOOGLE_ANALYTICS_ID` your Google Analytics UA-XYZ code (None to disable analytics).
+## Authors
 
-- `GOOGLE_ANALYTICS_PROP` your Google Analytics property name (None to disable analytics).
+pelican-subtle is authored by [pR0Ps](https://github.com/pR0Ps).
 
-- `GOOGLE_PLUS_URL` A link to your Google+ profile. Used for the [Google Authorship](http://www.google.com/insidesearch/features/authorship/index.html) feature.
+pelican-svbhack is authored by [Giulio Fidente](https://github.com/giulivo).
 
-- `USER_LOGO_URL` you don't need to replace the logo placeholder, just change this to point to another image. Can be local or remote.`
-
-- `DISQUS_SITENAME` set this to enable disqus comments in articles
-
-- `COLLAPSE_COMMENTS` set to `True` to have article comments hidden by default. Clicking on the `comments` link will toggle visibility.
-
-- `TAGLINE` some text rendered right below the logo
-
-- `SCROLL_TO_CONTENT` If this is set to `True`, when the content is below the sidebar (for example, on mobile), the page will be scrolled down to the content when it loads. An exception is made for the home page.
-
-- `FORCE_PIXELS` Some screens (mostly mobiles) don't use pixels directly and scale based on the concept of a "display pixel". Setting this to true tells the device to use actual pixels. Enable with care.
-
-- `MANGLE_EMAILS` If enabled, any emails in the `SOCIAL` links will be obfuscated in HTML and have their links generated by JavaScript when the page loads.
-
-- `GLOBAL_KEYWORDS` A list of strings that will be set as keywords for each page
-
-When developing locally, you may want to set the following variable: `SITEURL = http://localhost:8000`
-
-## MODIFICATIONS
-
-- Accent color can be changed by editing `@accent` in `./static/css/style.less`.
-- A different Pygmentize theme can be used by editing `./Makefile` and running `make pygments`.
-
-## AUTHOR
-
-pelican-svbhack is authored by Giulio Fidente.
-
-## LICENSE
+## Licence
 
 Released under MIT License, full details in `LICENSE` file.
